package cloud.zisu.springcloud.config;

import org.springframework.cloud.gateway.route.RouteLocator;
import org.springframework.cloud.gateway.route.builder.RouteLocatorBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @Desc: ""
 * @Author: caixiang
 * @DATE: 2020/9/16 10:48
 */
@Configuration
public class GateWayConfig {

    /**
     * 配置了一个id为route-name 的路由规则
     * 当访问localhost:9527/guonei 的时候会自动转发到地址 http://news.baidu.com/guonei
     *
     * 这种代码配置的方式 和yml 里面配置是 一样的
     * */
    @Bean
    public RouteLocator customRouteLocator(RouteLocatorBuilder routeLocatorBuilder){
        RouteLocatorBuilder.Builder routes = routeLocatorBuilder.routes();
        // 自定义网关 路由到 外网 http://news.baidu.com/guonei
        routes.route("path_router_zisuId1",
                r->r.path("/guonei")   //当后缀是 guonei 的时候 会自动跳转到 下面的地址
                        .uri("http://news.baidu.com/guonei"))
                .build();
        return routes.build();
    }
}
